* {
    margin: 0;
    padding: 0;
}

body {
    width: 100%;
    height: 100vh;
    background-color: #333;
    display: flex;
    justify-content: center;
    align-items: center;
}

.main {
    position: relative;
    width: 200px;
    height: 80px;
    margin-right: 20px;
    background-color: black;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 5px;
    cursor: pointer;
}

.main::before {
    position: absolute;
    content: '';
    width: 300px;
    height: 60px;
    background-color: var(--c);
    animation: rotate 4s linear infinite;
    cursor: pointer;
}

@keyframes rotate {
    0% {
        transform: rotate(0);
    }
    100% {
        transform: rotate(360deg);
        filter: blur(5px) hue-rotate(360deg);
    }
}

.main::after {
    width: 195px;
    height: 75px;
    line-height: 75px;
    content: attr(data-text);
    color: var(--c);
    text-align: center;
    font-size: 24px;
    z-index: 1;
    background-color: #333;
    text-transform: uppercase;
    font-family: Arial, Helvetica, sans-serif;
    border-radius: 5px;
    transition: 1s linear;
    cursor: pointer;
}

.main:hover {
    box-shadow: 0 0 5px var(--c), 0 0 10px var(--c), 0 0 20px var(--c);
    background-color: var(--c);
}

.main:hover::before {
    height: 500px;
    width: 500px;
    animation-play-state: paused;
    filter: hue-rotate(0);
}

.main:hover::after {
    background-color: var(--c);
    color: #fff;
}